﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Longbow
{
	class ModuleManager
	{

		private Dictionary<string, IModuleRef> modules = new Dictionary<string, IModuleRef>();

		
		private static AssemblyModuleLoader assemblyLoader = new AssemblyModuleLoader();


		public static NativeModuleLoader GetNativeModuleLoader()
		{
			return new NativeModuleLoader();
		}

		public static AssemblyModuleLoader GetAssemblyModuleLoader()
		{
			return assemblyLoader;
		}


		/// <summary>
		/// 
		/// </summary>
		/// <param name="moduleName">module file name(full name)</param>
		/// <returns></returns>
		public IModuleRef GetModule(string moduleName)
		{
			return modules[moduleName];
		}
	}
}
